package com.chenyun.message.sms.service.client;

import com.chenyun.message.sms.config.SmsConfig;
import com.chenyun.message.sms.dto.SmsResponseDTO;
import com.chenyun.message.sms.dto.SmsSendReqDTO;
import com.chenyun.message.sms.dto.SmsTemplateReqDTO;

/**
 *  SMS操作接口类
 * @author: Lonni
 * @date: 2022/7/29 0029 17:01
 */
public interface ISmsClient {






    /**
     * 初始化操作
     * @param smsConfig
     */
    void init(SmsConfig smsConfig);


    /**
     * 发送短信
     * @param requestDTO
     * @return
     */
    SmsResponseDTO<SmsResponseDTO.SmsSendRsp> doSendSms(SmsSendReqDTO requestDTO);

    /**
     * 同步||修改短信模板
     * 修改时templateCode不能为空
     * @param templateDTO
     * @return
     */
    SmsResponseDTO<SmsResponseDTO.SmsAddTemplateRsp> syncSmsTemplate(SmsTemplateReqDTO templateDTO);

    /**
     * 查询短信模板的审核状态
     * @param templateCode
     * @return
     */
    SmsResponseDTO<SmsResponseDTO.SmsTemplateStatusRsp> querySmsTemplateStatus(String templateCode);

    /**
     * 删除短信模版
     * @param templateCode
     * @return
     */
    SmsResponseDTO<SmsResponseDTO.SmsAddTemplateRsp> delSmsTemplate(String templateCode);


}
